package com.fouram.core.service;

import com.fouram.core.domain.LoginUser;

/**
 * token service接口
 */
public interface TokenService {

    /**
     * 登录系统
     *
     * @param loginUser 登录用户信息
     */
    String login(LoginUser loginUser);

    /**
     * 登录系统
     *
     * @param userId 用户id
     */
    String login(Long userId);

    /**
     * 获取用户(多级缓存)
     */
    LoginUser getLoginUser();

    /**
     * 获取用户id
     */
    Long getLoginId();

    /**
     * 获取用户账户
     */
    String getUsername();

    /**
     * 检查当前用户是否已登录
     *
     * @return 结果
     */
    boolean isLogin();

    /**
     * 校验当前用户是否登录
     */
    void checkLogin();

    /**
     * 退出当前用户登录
     */
    void logout();
}